﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DTO;
using BUS;
namespace QLVeChuyenBay
{
    public partial class frmHanhKhach : Form
    {
        public frmHanhKhach()
        {
            InitializeComponent();
        }
        HanhKhachBUS obj = new HanhKhachBUS();
        private void frmThemHanhKhach_Load(object sender, EventArgs e)
        {
            LoadGridView();
        }
        private void LoadGridView()
        {
            List<HanhKhachDTO> ds = obj.getALL();
            dgvHanhKhach.Rows.Clear();
            for (int i = 0; i < ds.Count; i++)
            {
                dgvHanhKhach.Rows.Add(ds[i].MaHK, ds[i].TenHK, ds[i].CMND1, ds[i].DienThoai);
            }
        }
        private bool KTDuLieuNhap()
        {
            if (txtMaHK.Text == "")
            {
                lblThongBao.Text = "Chưa nhập mã hành khách!"; return false;
            }
            if (txtTenHK.Text == "")
            {
                lblThongBao.Text = "Chưa nhập tên khách hàng!"; return false;
            }
            if (txtCMND.Text == "")
            {
                lblThongBao.Text = "Chưa nhập số CMND khách hàng!"; return false;
            }
            if (txtDienThoai.Text == "")
            {
                lblThongBao.Text = "Chưa nhập số điện thoại khách hàng!"; return false;
            }
            else
                return true;

        }
        private void btnThem_Click(object sender, EventArgs e)
        {
            HanhKhachDTO hk = new HanhKhachDTO();
            hk.MaHK = txtMaHK.Text;
            hk.TenHK = txtTenHK.Text;
            hk.CMND1 = txtCMND.Text;
            hk.DienThoai = txtDienThoai.Text;
            if (KTDuLieuNhap())
            {
                if (obj.KTMaKH(txtMaHK.Text))
                {
                    lblThongBao.Text = "Mã khách hàng đã tồn tại";
                }
                else
                {
                    int res = obj.Them(hk);
                    if (res >= 0)
                    {
                        LoadGridView();
                        MessageBox.Show("Thêm thành công!", "Thông báo");
                    }
                    else
                        MessageBox.Show("Thêm thất bại!", "Thông báo");
                }
            }
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            HanhKhachDTO hk = new HanhKhachDTO();
            hk.MaHK = dgvHanhKhach.SelectedRows[0].Cells[0].Value.ToString();
            DialogResult hoi = MessageBox.Show("Bạn thật sự muốn xóa", "Hỏi", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
            if (hoi == DialogResult.Yes)
            {

                obj.Xoa(hk);
                if (obj.Xoa(hk) >= 0)
                {
                    LoadGridView();
                }
                else
                    MessageBox.Show("Xóa thất bại");
            }
        }

        private void btnThoát_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnTaoMoi_Click(object sender, EventArgs e)
        {
            txtMaHK.Clear();
            txtTenHK.Clear();
            txtCMND.Clear();
            txtDienThoai.Clear();
            txtMaHK.Focus();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (txtMaHK.Text != dgvHanhKhach.SelectedRows[0].Cells[0].Value.ToString())
            {
                lblThongBao.Text = "Không được sửa mã hành khách!";
                txtMaHK.Text = dgvHanhKhach.SelectedRows[0].Cells[0].Value.ToString();
            }
            else
            {
                HanhKhachDTO hk = new HanhKhachDTO();
                hk.MaHK = txtMaHK.Text;
                hk.TenHK = txtTenHK.Text;
                hk.CMND1 = txtCMND.Text;
                hk.DienThoai = txtDienThoai.Text;

                int res = obj.Sua(hk);
                if (res >= 0)
                {
                    LoadGridView();
                    MessageBox.Show("Sửa thành công!", "Thông báo");
                }
                else
                    lblThongBao.Text = "Sửa thất bại!";
            }
        }

        private void dgvHanhKhach_SelectionChanged(object sender, EventArgs e)
        {
            if (dgvHanhKhach.SelectedRows.Count > 0)
            {
                txtMaHK.Text = dgvHanhKhach.SelectedRows[0].Cells[0].Value.ToString();
                txtTenHK.Text = dgvHanhKhach.SelectedRows[0].Cells[1].Value.ToString();
                txtCMND.Text = dgvHanhKhach.SelectedRows[0].Cells[2].Value.ToString();
                txtDienThoai.Text = dgvHanhKhach.SelectedRows[0].Cells[3].Value.ToString();
            }
        }

        private void btnRefresh_Click(object sender, EventArgs e)
        {
            LoadGridView();
        }

        private void dgvHanhKhach_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void txtCMND_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void txtDienThoai_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        
    }
}
